# -*- coding: utf-8 -*-

@auth.requires_membership('Administrator')
def index():
    setup()    
    session.flash = T("Valori inseriti")
    redirect(URL("default", "index"))            

def getLivelli():
    livelli = []        
    livelli.append({"ordine": 1,
                    "livello":"""Eunuco (Un gradino sopra l’ameba)""",
                    "descrizione":"""Il tuo livello atletico è pessimo, la buona notizia è che riesci a muoverti."""})
    livelli.append({"ordine": 2,
                    "livello":"Ilota (Schiavo)",
                    "descrizione":"Se cerchi sul dizionario probabilmente sotto alla parola scarso troverai la tua foto, ma almeno non sei un eunuco."})    
    livelli.append({"ordine": 3,
                    "livello":"Perieco (Uomo Semi-libero)",
                    "descrizione":"Il tuo livello atletico è mediocre, ma non sei sicuramente più un sedentario."})
    livelli.append({"ordine": 4,
                    "livello":"Elleno (Greco)",
                    "descrizione":"Hai spezzato le catene della sedentarietà, hai un livello che si rispecchia in un buono stato di salute, questo è il risultato minimo a cui tutti gli uomini dovrebbero ambire."})
    livelli.append({"ordine": 5,
                    "livello":"Agoghè Pròpais (Bambino Spartiata)",
                    "descrizione":"Il tuo livello atletico mostra che sei uno sportivo, a dir la verità tra i più scarsi ma sempre uno sportivo."})
    livelli.append({"ordine": 6,
                    "livello":"Agoghè Melleìren (Adolescente Spartiata)",
                    "descrizione":"Il tuo livello  è più che sufficiente, inizi a fare i primi passi tra gli uomini."})
    livelli.append({"ordine": 7,
                    "livello":"Agoghè Irèn (Giovane Spartiata)",
                    "descrizione":"Il tuo livello atletico è discreto, ti manca ancora qualcosa ma molta strada è stata fatta."})
    livelli.append({"ordine": 8,
                    "livello":"Paidonomos (Ispiratore)",
                    "descrizione":"Questo è il massimo livello che si richiede ad uno sportivo non specializzato nella prova. Hai un ottimo stato fitness (inteso come livello di benessere)."})
    livelli.append({"ordine": 9,
                    "livello":"Euguale (Spartiata)",
                    "descrizione":"Sei un atleta, sei degno di far parte del project inVictus."})
    livelli.append({"ordine": 10,
                    "livello":"Pentecontarca (Comandante di pentecoste)",
                    "descrizione":"Tra gli atleti ti distingui tra i migliori."})
    livelli.append({"ordine": 11,
                    "livello":"Polemarco (Comandante di reggimento)",
                    "descrizione":"Il tuo livello  è eccellente, le tue prestazioni sono d’ispirazione per gli altri atleti."})
    livelli.append({"ordine": 12,
                    "livello":"Re di Lacedemone (Comandante in capo)",
                    "descrizione":"Il tuo livello atletico raggiunge i vertici massimi, pochi uomini sulla terra possono gareggiare con te."})   
    return livelli
    
def setup():
    # Isnerimento sessi
    db.sessi.insert(**{"sesso":"maschio", "is_maschile":True})
    db.sessi.insert(**{"sesso":"Femmina", "is_femminile":True})
    # Inserimento stati sfida    
    db.stati_sfida.insert(**{"stato_sfida": "In attesa" , "is_attesa":True})
    db.stati_sfida.insert(**{"stato_sfida": "Accettata" , "is_accettata":True})
    # Inserimento sttai candidatura
    db.stati_candidatura.insert(**{"stato_candidatura": "In attesa" , "is_attesa":True})
    db.stati_candidatura.insert(**{"stato_candidatura": "Accettata" , "is_approvata":True})        
    # Inserimento livelli
    livelli = getLivelli()
    for livello in livelli:
        livello["id"] = db.livelli.insert(**livello)
    # Sfide invictus        
    categoria_test_id = db.categorie_test.insert(**{"categoria_test":"Invictus"})
    sesso_maschile_id = getSessoMaschile().id        
    # Overhead BW Squat ###########################################################################
    test_id = db.test.insert(**{"categoria_test_id":categoria_test_id,
                                "test":"Overhead BW Squat"})
    # -80(M)
    scala_valutazione_id = db.scale_valutazione.insert(**{"descrizione":"-80(M)",
                                                          "sesso_id":sesso_maschile_id,
                                                          "test_id":test_id,
                                                          "pesoinizio":0,
                                                          "pesofine":79,
                                                          "etainizio":0,
                                                          "etafine":39})
    risultati = [108, 120, 132, 142, 152, 160, 168, 174, 180, 186, 192, 204]
    for i in range(len(livelli)):
        insert_dict = {"scala_valutazione_id":scala_valutazione_id}
        insert_dict["livello_id"] = livelli[i]["id"]
        insert_dict["risultato"] = risultati[i]
        db.risultati.insert(**insert_dict)        
    # -90(M)
    scala_valutazione_id = db.scale_valutazione.insert(**{"descrizione":"-80(M)",
                                                          "sesso_id":sesso_maschile_id,
                                                          "test_id":test_id,
                                                          "pesoinizio":0,
                                                          "pesofine":79,
                                                          "etainizio":0,
                                                          "etafine":39})   
    risultati = [98, 110, 122, 132, 142, 150, 158, 164, 170, 176, 182, 194]
    for i in range(len(livelli)):
        insert_dict = {"scala_valutazione_id":scala_valutazione_id}
        insert_dict["livello_id"] = livelli[i]["id"]
        insert_dict["risultato"] = risultati[i]
        db.risultati.insert(**insert_dict)
    # +90(M)
    scala_valutazione_id = db.scale_valutazione.insert(**{"descrizione":"-80(M)",
                                                          "sesso_id":sesso_maschile_id,
                                                          "test_id":test_id,
                                                          "pesoinizio":0,
                                                          "pesofine":79,
                                                          "etainizio":0,
                                                          "etafine":39})  
    risultati = [88, 100, 112, 122, 132, 140, 148, 154, 160, 166, 172, 184]
    for i in range(len(livelli)):
        insert_dict = {"scala_valutazione_id":scala_valutazione_id}
        insert_dict["livello_id"] = livelli[i]["id"]
        insert_dict["risultato"] = risultati[i]   
        db.risultati.insert(**insert_dict)
    # Piegamenti sulle braccia ###########################################################################
    test_id = db.test.insert(**{"categoria_test_id":categoria_test_id,
                                "test":"Piegamenti sulle braccia"})
    # -80(M)
    scala_valutazione_id = db.scale_valutazione.insert(**{"descrizione":"-80(M)",
                                                          "sesso_id":sesso_maschile_id,
                                                          "test_id":test_id,
                                                          "pesoinizio":0,
                                                          "pesofine":79,
                                                          "etainizio":0,
                                                          "etafine":39})
    risultati = [16, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 75]
    for i in range(len(livelli)):
        insert_dict = {"scala_valutazione_id":scala_valutazione_id}
        insert_dict["livello_id"] = livelli[i]["id"]
        insert_dict["risultato"] = risultati[i]
        db.risultati.insert(**insert_dict)
    # -90(M)
    scala_valutazione_id = db.scale_valutazione.insert(**{"descrizione":"-80(M)",
                                                          "sesso_id":sesso_maschile_id,
                                                          "test_id":test_id,
                                                          "pesoinizio":0,
                                                          "pesofine":79,
                                                          "etainizio":0,
                                                          "etafine":39})   
    risultati = [12, 16, 20, 25, 30, 35, 40, 45, 50, 55, 60, 70]
    for i in range(len(livelli)):
        insert_dict = {"scala_valutazione_id":scala_valutazione_id}
        insert_dict["livello_id"] = livelli[i]["id"]
        insert_dict["risultato"] = risultati[i]
        db.risultati.insert(**insert_dict)
    # +90(M)
    scala_valutazione_id = db.scale_valutazione.insert(**{"descrizione":"-80(M)",
                                                          "sesso_id":sesso_maschile_id,
                                                          "test_id":test_id,
                                                          "pesoinizio":0,
                                                          "pesofine":79,
                                                          "etainizio":0,
                                                          "etafine":39})   
    risultati = [8, 12, 16, 20, 25, 30, 35, 40, 45, 50, 55, 65]
    for i in range(len(livelli)):
        insert_dict = {"scala_valutazione_id":scala_valutazione_id}
        insert_dict["livello_id"] = livelli[i]["id"]
        insert_dict["risultato"] = risultati[i] 
        db.risultati.insert(**insert_dict)
    # Overhead BW Squat ###########################################################################
    test_id = db.test.insert(**{"categoria_test_id":categoria_test_id,
                                "test":"Trazioni alla sbarra"})
    # -80(M)
    scala_valutazione_id = db.scale_valutazione.insert(**{"descrizione":"-80(M)",
                                                          "sesso_id":sesso_maschile_id,
                                                          "test_id":test_id,
                                                          "pesoinizio":0,
                                                          "pesofine":79,
                                                          "etainizio":0,
                                                          "etafine":39})
    risultati = [4, 5, 7, 10, 13, 16, 19, 22, 25, 28, 31, 37]
    for i in range(len(livelli)):
        insert_dict = {"scala_valutazione_id":scala_valutazione_id}
        insert_dict["livello_id"] = livelli[i]["id"]
        insert_dict["risultato"] = risultati[i]
        db.risultati.insert(**insert_dict)
    # -90(M)
    scala_valutazione_id = db.scale_valutazione.insert(**{"descrizione":"-80(M)",
                                                          "sesso_id":sesso_maschile_id,
                                                          "test_id":test_id,
                                                          "pesoinizio":0,
                                                          "pesofine":79,
                                                          "etainizio":0,
                                                          "etafine":39})  
    risultati = [3, 4, 5, 7, 10, 13, 16, 19, 22, 25, 28, 34]
    for i in range(len(livelli)):
        insert_dict = {"scala_valutazione_id":scala_valutazione_id}
        insert_dict["livello_id"] = livelli[i]["id"]
        insert_dict["risultato"] = risultati[i]
        db.risultati.insert(**insert_dict)
    # +90(M)
    scala_valutazione_id = db.scale_valutazione.insert(**{"descrizione":"-80(M)",
                                                          "sesso_id":sesso_maschile_id,
                                                          "test_id":test_id,
                                                          "pesoinizio":0,
                                                          "pesofine":79,
                                                          "etainizio":0,
                                                          "etafine":39})  
    risultati = [2, 3, 4, 5, 6, 10, 13, 16, 19, 22, 25, 31]
    for i in range(len(livelli)):
        insert_dict = {"scala_valutazione_id":scala_valutazione_id}
        insert_dict["livello_id"] = livelli[i]["id"]
        insert_dict["risultato"] = risultati[i]   
        db.risultati.insert(**insert_dict)                           
    
